The present invention relates to storage system for storing data in a plurality of disk drives and a disk control cluster forming part of the storage system.
When compared with the I/O performance of a main memory in a computer using a semiconductor storage as a storage medium, the I/O performance of a disk subsystem (which will be referred to as the subsystem, hereinafter) using a magnetic disk as a storage medium is small by about 3 or 4 figures. An effort has conventionally been put into reducing a difference in I/O performance between these semiconductor and disk storages, that is, improving the I/O performance of the subsystem. As one method of improving the I/O performance of the subsystem, there is known a system called a disk array wherein a subsystem is made up of a plurality of disk drives for storing data therein.
As shown in FIG. 2, for example, a prior art includes a plurality of channel IF units 11 for executing data transfer between host computers 3 and disk controllers 4, a plurality of disk IF units 16 for executing data transfer between disk drives 2 and the disk controllers 4, and shared memory units 20 for storing therein the data of the disk drives and control information on the disk controllers 4 (e.g., information relating to data transfer control within the disk controllers 4 and information for management of data to be stored in the disk drives 2). In each of the disk controllers 4, all the shared memory units 20 are arranged to be accessible by all the channel IF units 11 and disk IF units 16. In each disk controller 4, the channel IF units 11 and the disk IF units 16 are connected with the shared memory units 20 by an interconnection 30.
Each channel IF unit 11 has an interface for connection with the host computers 3 and a microprocessor (not shown) for controlling input and output from and to the host computers 3. Each disk IF unit 16 has an interface for connection with the associated disk drive 2 and a microprocessor (not shown) for controlling input and output from and to the disk drive 2. Each disk IF unit 16 also executes a RAID function.
Spread of the Internet involves radical increase of data to be handled in companies or firms, and thus it is necessary that a data center or the like store data beyond a data amount capable of being handled by a single disk controller. To this end, a plurality of such disk controllers 4 are installed to be connected with the host computers 3 via a SAN switch 5 as an interface with the host computers 3 as shown in FIG. 2.
Further, as the increase of the data amount involves increase of the number of such disk controllers 4 to be connected to the SAN switch 5, the management of the entire system (which is called the storage area network (SAN)) including the host computers 3 and SAN switch 5 becomes complicated. To cope with it, a SAN appliance 6 is connected to the SAN switch 5 to perform directory service over data to be managed by all the disk controllers 4 connected to the SAN switch 5 and to perform such operation that the host computers 3 look the plurality of disk controllers 4 like a single storage system. In other words, the SAN appliance 6 causes the host computers 3 to look storage areas offered by the disk controllers 4 like a single large storage area, and assigns necessary amounts of such a storage area to the host computers 3.
In another prior art as disclosed in JP-A-2001-256003, as shown in FIG. 23, a single storage system 1 is made up of a plurality of disk control clusters 1-1 to 1-n. Each disk control cluster includes a plurality of channel IF units 11 for executing data transfer between the associated host computer 3 and the associated disk control cluster, a plurality of disk IF units 16 for executing data transfer between the associated disk drive 2 and the associated disk control cluster, and shared memory units 25. An interconnection 31 is connected between the channel IF units 11, disk IF units 16 and shared memory units 25 in a plurality of disk control clusters 1-1 to 1-n. Stored in the shared memory units 25 are control information on the storage system. The shared memory units 25 are arranged so that the shared memory units can be accessed by all the channel IF units 11 and disk IF units 12 via an interconnection 31, so that exchange of the control information via the shared memory units 25 enables the plurality of disk control clusters to operate as a single storage system.
In large-scale companies such as typical banks, securities companies and telephone companies, computers and storages so far dispersed into local places tend to be centralized into a data center to form a computer system/storage system configuration, thus reducing costs necessary for the operation, maintenance and management of the computer system and storage system.
In such a tendency, a large-scale/high-end disk controller is required to support a channel interface for connection with hundreds of host computers (connectivity) and to support a storage capacity of hundreds of tera-bytes or more.
Meanwhile, with expansion of open market and spread of the storage area network (SAN) in these years, demands of appearance of disk controllers of a small-scale configuration (small-scale rack) with rich functions/high reliability similar to the large-scale/high-end disk controller have been stronger.
For the former demand, it is considered to connect a plurality of such conventional large-scale/high-end disk controllers to form a huge storage configuration.
For the latter demand, it is considered to minimize its rack in a minimum configuration model of the conventional large-scale/high-end disk controller. When a plurality of such minimized controllers are connected, further, a storage system is considered which can support a medium-to-large scaled configuration supported by the conventional disk controller.
As has been mentioned above, a storage system is required to have a small- to huge-scale configuration compatible with a reliable architecture with a good scalability. To this end, such a storage system is required that a plurality of disk controllers can be clustered and be operated as a single system.
In the prior art shown in FIG. 2, the plurality of disk controllers 4 are connected to the host computers 3 via the SAN switch 5 so that the SAN appliance 6 causes the host computers 3 to look the disk controllers 4 like a single storage system.
However, the prior art has a problem that, since the plurality of disk controllers 4 are operated as a single system under control of software operating on the SAN appliance 6, the prior art is lower in reliability and availability than the conventional single large-scale disk controller. Another problem is that, since the SAN appliance 6 searches the disk controllers 4 for data present therein and demanded by the host computers 3, the performance of the prior art becomes low.
When an error occurs in the channel IF units 11 of one disk controller 4 and it become impossible to access data of the disk drive connected to this disk controller, furthermore, it becomes necessary to once stop the access from the host computer 3 to the disk controller 4 and to exchange the channel IF unit 11, with the result that this disadvantageously affects an application program running under control of the host computer 3.
The prior art shown in FIG. 23 provides a storage system with a high scalability wherein the plurality of disk control clusters exchange control information via the shared memory units 25 and operate as a single storage system.
This prior art however has a defect that its bad handleability to users. In other words, in order to enhance the performance, it is necessary that a storage area to be assigned to the host computer 3 be a storage area on the disk drive 2 connected to the disk control cluster connected with the host computer 3. Further, for the purpose of preventing impossible access to the disk control cluster due to an interface error between the host computer 3 and disk control cluster, it becomes necessary to connect connection paths from one host computer to the plurality of disk control clusters. In addition, even when the plurality of connection paths are connected, it is impossible to perform switching between the connection paths without notifying it to the host computer.